Ignore intermittent errors in the MAX31855K (and MAX6675) thermocouple sensor.#18039
Conversation
…5K. Require a set number of errors in series before triggering a fault. The default is set to 15 as this is the default in Sailfish firmware.
…rmocouple present.
|
Should be in conditionals_post.h so that it isn't called for all temperature settings. |
|
Tested this PR on the SKR1.3 and, it causes immediate MIN_TEMP |
What thermocouple amplifier are you using? The SKR1.3 does not have a thermocouple amplifier built into it. What happens when you use the same configuration without the patch? |
|
I use the Max31855 breakout board from Adafruit. |
|
Can you attach your config settings? Also, can you try with
and let me know if you still have the same problem? |
|
I cannot right now |
|
Currently at work. |
|
Thanks for the update, @Grogyan. Now merged. |
Description
Ignore intermittent errors in the MAX31855K (and MAX6675) thermocouple sensor. This replicates behavior in Sailfish firmware for handling thermocouple sensors on the Makerbot Replicator & numerous clones.
Require a number of errors from a thermocouple sensor in series before triggering a fault. The default is set to 15 as this is the default in Sailfish firmware.
Benefits
Current behaviour of Marlin is that a single error event in a thermocouple sensor will cause the printer to halt with a MAXTEMP error. This change ignores intermittent errors from a thermocouple sensor due to noise. Marlin will no longer halt with an MAXTEMP error due to a spurious error report.
Safety is still maintained. The error is reported within 3 seconds when a failure resulting in a persistent error condition occurs.
Related Issues
See #18025
I have tested this code by shorting the thermocouples to GND and to VCC. I verified that the error condition is reported and that max_temp_error() is still called.